package top.infopub.mgr.fia.service;

import com.github.pagehelper.Page;
import top.infopub.enums.fia.IncomeBillTypeEnum;
import top.infopub.enums.fia.IncomeSettlementModeEnum;
import top.infopub.generic.GenericService;
import top.infopub.mgr.fia.domain.IncomeBillDomain;
import top.infopub.mgr.fia.vo.IncomeBillVo;
import top.infopub.mgr.flow.cnst.FlowTemplateEnum;
import top.infopub.model.fia.IncomeBill;
import top.infopub.security.vo.AuthorizationVO;

import java.math.BigDecimal;

public interface IncomeBillService extends GenericService<IncomeBill, String> {

    /**
     * 根据条件查询分页数据
     * @param page
     * @param incomeBillVo
     * @return 
     * @see
     */
    Page<IncomeBillDomain> selectPageByDomainWhere(Page<IncomeBillDomain> page, IncomeBillVo incomeBillVo);

    /**
     * 设置实体类信息
     * @param proCode
     * @param ism
     * @param ibt
     * @param incAmt
     * @param actualIncAmt
     * @param fte
     * @param bizSguid
     * @param vo
     * @return
     */
    IncomeBill setIncBillInfo(String proCode, IncomeSettlementModeEnum ism, IncomeBillTypeEnum ibt, BigDecimal incAmt,
                              BigDecimal actualIncAmt, FlowTemplateEnum fte, String bizSguid, AuthorizationVO vo);
}